import { VisualData, VisualDataGeom } from '@amcax/web-render';
import RenderProto from './proto';

/**
 * 渲染数据格式，包含Mesh/PointCloud/Curve
 */
export interface VisualDataCloud extends VisualData {
  type?: string;
  /**
   * protobuf是 points/normals/facets 都在这个字段里面的，
   * 先判断这个字段，没有的话使用后面的points/normals/facets
   */
  cloud?: RenderProto.ICloudRenderData;
  points?: Array<number>;
  normals?: Array<number>;
  facets?: Array<number>;
  label?: number;
}

/**
 * 渲染数据格式，包含几何
 */
export interface VisualDataShape extends VisualDataGeom {
  /**
   * protobuf是 vertices/edges/faces 都在这个字段里面的，
   * 先判断这个字段，没有的话使用后面的 vertices/edges/faces
   */
  geom?: RenderProto.IGeomRenderData;
}
